﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace CrmContacto.WebApp.Code.InnerClasses.FrontEnd
{
    [Serializable]
    public class NavigationContext
    {
        public NavigationContext()
        {            
        }

        public void Clear()
        {
            AgregandoContactosAListaDistribucion = false;
            AgregandoListasDeDistribucionAAccionDeMarketing = false;
            AgregandoPuntosDeVentaAAccionDeMarketing = false;
            AgregandoAccionesDeMarketingAAccionDeMarketing = false;
            AgregandoListasDeDistribucionAContacto = false;
            AgregandoContactosACategorias = false;            
        }

        public bool AgregandoContactosAListaDistribucion { get; set; }

        public bool AgregandoContactosACategorias { get; set; }

        public int? ListaDistribucionId { get; set; }

        public bool AgregandoListasDeDistribucionAAccionDeMarketing { get; set; }

        public bool AgregandoPuntosDeVentaAAccionDeMarketing { get; set; }

        public bool AgregandoAccionesDeMarketingAAccionDeMarketing { get; set; }

        public bool AgregandoListasDeDistribucionAContacto { get; set; }

        public int? AccionDeMarketingId { get; set; }

        public int? ContactoId { get; set; }        

        /// <summary>
        /// Indica la URL a donde tiene que volver para mantener la navegación entre pantallas
        /// </summary>
        public string UrlToGoBack { get; set; }

        public void RedirectTo(string relativeUrl, string queryStr)
        {
            HttpContext.Current.Response.Redirect(HttpContext.Current.Request.Url.Scheme + "://" + HttpContext.Current.Request.Url.Authority + relativeUrl + queryStr, true);
        }
    }
}